home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu11 / gloade9a.arc / GVERE9.ASM < prev    next >
Assembly Source File  |  1991-08-13  |  6KB  |  165 lines

  1. ******************************************************************************
  2. ******************************************************************************
  3. *                                                                            *
  4. *                    Routine to Verify E9 EPROM Contents                     *
  5. *                                                                            *
  6. ******************************************************************************
  7. *                                                                            *
  8. * Program Name: GVERE9.ASM                                                   *
  9. * Revision: 0.02                                                             *
  10. * Date: 3/17/91                                                              *
  11. * Written By: Robert Chretien                                                *
  12. *             Motorola MCU Applications                                      *
  13. * Assembled Under: Motorola Portable Cross Assembler (PASM) or               *
  14. *                  Motorola Freeware Assembler (AS11)                        *
  15. * Program Description:                                                       *
  16. *                                                                            *
  17. *                                                                            *
  18. *                                                                            *
  19. *                                                                            *
  20. *                                                                            *
  21. ******************************************************************************
  22. *                                                                            *
  23. * Revision Descriptions:                                                     *
  24. * 1. Rev 0.01: Original program. Modified from GVERD3.ASM Rev 0.02.          *
  25. * 2. Rev 0.02: Gets boot ROM start address from boot reset vector rather     *
  26. *              than assuming it will always stay the same.                   *
  27. *                                                                            *
  28. *                                                                            *
  29. *                                                                            *
  30. ******************************************************************************
  31. ******************************************************************************
  32.  
  33. RAM          EQU        $0000
  34. REGS         EQU        $1000
  35. Eprom        EQU        $D000
  36. Vectors         EQU    $FFD6
  37. PortA        EQU        REGS+$00
  38. PortC        EQU        REGS+$03
  39. PortB        EQU        REGS+$04
  40. DDRC         EQU        REGS+$07
  41. PortD        EQU        REGS+$08
  42. DDRD         EQU        REGS+$09
  43. CFORC        EQU        REGS+$0B
  44. TCNT         EQU        REGS+$0E
  45. TOC2         EQU        REGS+$18
  46. TCTL1        EQU        REGS+$20
  47. TCTL2        EQU        REGS+$21
  48. TMSK1        EQU        REGS+$22
  49. TFLG1        EQU        REGS+$23
  50. TMSK2        EQU        REGS+$24
  51. TFLG2        EQU        REGS+$25
  52. PACTL        EQU        REGS+$26
  53. Baud         EQU        REGS+$2B
  54. SCCR2        EQU        REGS+$2D
  55. SCSR         EQU        REGS+$2E
  56. SCDR         EQU        REGS+$2F
  57. OPTION       EQU        REGS+$39
  58. *
  59. *
  60. *
  61. TalkAddress  EQU     RAM
  62. Address      EQU     RAM+1
  63. RecordLength EQU     RAM+3
  64. CheckSum     EQU     RAM+4
  65. BoardAddress EQU     RAM+5
  66. *
  67. *
  68. *
  69.              ORG     RAM
  70. Initial      LDS     #$00FF
  71.              LDAA    #$30
  72.              STAA    Baud                 !With 8MHz crystal, baud=9600.
  73.              LDAA    #$0C
  74.              STAA    SCCR2                !Transmitter and receiver enabled.
  75.              LDAA    #%00100000
  76.              STAA    DDRD
  77.              STAA    PortD
  78. *
  79. *
  80. *
  81. CalCheckSum  LDAA    #$05
  82.              STAA    CheckSum
  83. CalAddress   LDAA    PortD
  84.              LSRA
  85.              LSRA
  86.              ANDA    #%00000111
  87.              STAA    BoardAddress
  88. BootRecAddr  BSR     RecOneAddr
  89.              CBA
  90.              BNE     Boot4Last
  91.              STAA    SCDR
  92.              BSR     RecOneAddr
  93.              LDAA    CheckSum
  94.              STAA    SCDR
  95. Boot4Last    CMPB    #08
  96.              BNE     BootRecAddr
  97. *
  98. *
  99. *
  100.              CLR     CheckSum
  101.              CLR     TalkAddress
  102. RecTalk      BSR     RecOneAddr
  103.              CBA
  104.              BNE     RecNewRec
  105.              STAA    SCDR
  106.              INC     TalkAddress
  107. RecNewRec    LDX     #Address
  108.              LDY     #3
  109. RecTranInfo  BSR     RecOneAddr
  110.              STAB    0,X
  111.              LDAA    TalkAddress
  112.              BEQ     IncX1
  113.              STAB    SCDR
  114. IncX1        INX
  115.              DEY
  116.              BNE     RecTranInfo
  117.              LDX     Address
  118.              BEQ     Wait4Mine
  119.              LDAB    RecordLength
  120.              SUBB    #3                   !Record length contains byte
  121.              CLRA                         ! count for address and checksum.
  122.              XGDY
  123. RecData      BSR     RecOneAddr
  124.              LDAA    0,X
  125.              CBA
  126.              BEQ     OKThisPass
  127.              LDAB    #$01
  128.              STAB    CheckSum
  129.              LDAB    #$00
  130.              STAB    PortD
  131. OKThisPass   LDAB    TalkAddress
  132.              BEQ     IncX2
  133.              STAA    SCDR
  134. IncX2        INX
  135.              DEY
  136.              BNE     RecData
  137.              BRA     RecNewRec
  138. Wait4Mine    BSR     RecOneAddr
  139.              CBA
  140.              BNE     Chck4Last
  141.              STAA    SCDR
  142.              BSR     RecOneAddr
  143.              LDAA    CheckSum
  144.              STAA    SCDR
  145. Chck4Last    CMPB    #08
  146.              BNE     Wait4Mine
  147.              BSR     RecOneAddr
  148.              LDX     $BFFE
  149.              JMP     0,X                  !Jump back to Boot ROM.
  150. *
  151. *
  152. *
  153. RecOneAddr   LDAA    BoardAddress
  154.              LDAB    SCSR
  155.              ANDB    #%00100000
  156.              BEQ     RecOneAddr
  157.              LDAB    SCDR
  158.              RTS
  159. *
  160. *
  161. *
  162. END          EQU     *
  163.              END
  164.  
  165.